package messages

import (
	"longmen/server/internal/rpc/tencentim/chat"
)

type (
	// LoginReplyMessage 登录成功后的回复消息
	LoginReplyMessage struct {
		ReplyMessage
		Data *LoginReplyMessageData     `json:"data,omitempty"`
		User *LoginReplyMessageUserInfo `json:"user,omitempty"`
	}
	LoginReplyMessageUserInfo struct {
		Platform   int             `json:"platform"`
		UserId     int             `json:"user_id"`
		RoomId     int             `json:"room_id"`
		ClientName string          `json:"client_name"`
		Avatar     string          `json:"avatar"`
		Level      int             `json:"level"`
		Vip        int             `json:"vip"`
		Role       int32           `json:"role"`
		Props      *chat.ChatProps `json:"props"`
		Permit     int32           `json:"permit"`
		Anonymouse bool            `json:"anonymouse"`
		ImmeGift   int             `json:"imme_gift"`
		//	Guess      string          `json:"models_guess"`
	}
	// OnlineUser 在线用户信息
	OnlineUser struct {
		UserId     int    `json:"user_id"`
		ClientName string `json:"client_name"`
		Avatar     string `json:"avatar"`
	}
	LoginReplyMessageData struct {
		Message   string       `json:"msg"`
		OnlineNum int          `json:"onlineNum"`
		Players   []OnlineUser `json:"players"`
		//MatchData   *RoomMatchData           `json:"match_data,omitempty"`
		ChatHistory []map[string]interface{} `json:"chatHistory"`
		Role        int32                    `json:"role"`   // 1普通用户,2主播,3房管
		Permit      int32                    `json:"permit"` // 当前直播间是否有权限 1有 2无
		Guess       string                   `json:"guess"`
	}

	// RoomMatchData 房间赛事数据
	RoomMatchData struct {
		MatchId     int    `json:"match_id"`
		HomeScore   int    `json:"home_score"`
		AwayScore   int    `json:"away_score"`
		Time        string `json:"time"`
		HomeName    string `json:"home_name"`
		AwayName    string `json:"away_name"`
		KickoffTime string `json:"kickoff_time"`
		HomeLogo    string `json:"home_logo"`
		AwayLogo    string `json:"away_logo"`
		EventName   string `json:"event_name"`
	}
	// EnterRoomMessage 用户进入房间后的广播消息
	EnterRoomMessage struct {
		SentMessageStruct

		UserId      int    `json:"user_id"`
		ClientName  string `json:"client_name"`
		Avatar      string `json:"avatar"`
		ClientCount int    `json:"client_count"`
		Welcome     string `json:"welcome"`
		VipLevel    int    `json:"vip_level"`
		Role        int32  `json:"role"`
		RoomId      int    `json:"room_id"`
		Level       int    `json:"level"` //用户等级
	}
)
